'use strict';

class TIMTextElem {
  constructor(text) {
    this.MsgType = 'TIMTextElem';
    this.MsgContent = {
      Text: text,
    };
  }
}

class TIMLocationElem {
  constructor(Longitude, Latitude, Desc = null) {
    this.MsgType = 'TIMLocationElem';
    this.MsgContent = {
      Desc,
      Latitude,
      Longitude,
    };
  }
}

class TIMFaceElem {
  constructor(Index, Data) {
    this.MsgType = 'TIMFaceElem';
    this.MsgContent = {
      Index,
      Data,
    };
  }
}

class TIMCustomElem {
  constructor(Data, Desc, Ext = '', Sound = '') {
    this.MsgType = 'TIMCustomElem';
    this.MsgContent = {
      Data,
      Desc,
      Ext,
      Sound,
    };
  }
}

module.exports = {
  TIMTextElem,
  TIMLocationElem,
  TIMFaceElem,
  TIMCustomElem,
};